Kyoto Common Lisp Report

Taiichi Yuasa and Masami Hagiya
Research Institute for Mathematical Sciences
Kyoto University

Preface




Kyoto Common Lisp (KCL for short) is a full implementation of the Common Lisp language described in the Common Lisp Reference Manual:



Common Lisp: The Language
by Guy L. Steele et al.
Digital Press, 1984



All Common Lisp functions, macros, and special forms are defined in KCL, though a few of them have slightly different meanings from those described in the Common Lisp Reference Manual . All such differences are described in this report: If a Common Lisp function (or macro or special form) does not work as described in the Common Lisp Reference Manual and if this report does not describe the d ifference explicitly, then there must be a bug in KCL. All Common Lisp variables and constants are defined in KCL exactly as described in the Common Lisp Reference Manual .



Currently, there are four major versions of KCL:

  1. KCL/AOS, under the AOS/VS operating system for Data General's ECLIPSE MV series machines.

  2. KCL/VAX, under the Unix 4.2 bsd operating system for Digital Equipment Corporation's VAX 11 series machines.

  3. KCL/SUN, under the Unix 4.2 bsd operating system for Sun Microsystems' Sun Workstation.

  4. KCL/UST, under the Unix V (Uniplus' version) operating system for Sumitomo Electric Industries and Digital Computer Laboratory's Ustation E15.



KCL/ AOS is the original version of KCL, which was developed at the Research Institute for Mathematical Sciences (RIMS), Kyoto University, with the cooperation of Nippon Data General Corporation. The other three versions, which are collectively called KCL on Unix, are transplanted versions of KCL/AOS.



This report is intended to complement the Common Lisp Reference Manual. This report describes deviations of KCL from Common Lisp, those features specific to KCL, and the implementation-dependent functions of Common Lisp.

Acknowledgements




The project of KCL was supported by many people affiliated with many institutions. We are very grateful especially to the following people for their contributions to the KCL project.



First of all, we are grateful to the contributors to the design of Common Lisp.

Prof. Reiji Nakajima at RIMS, Kyoto University, provided us with considerable encouragement and moral support. Nippon Data General Corporation (NDG) helped us implement KCL/AOS. Mr. Teruo Yabe and Mr. Toshiyasu Harada joined us during the first stage of the KCL project and did a lot of coding. Mr. Takashi Suzuki and Mr. Kibo Kurokawa arranged the joint project. NDG is now supporting the distribution of KCL/AOS.

Data General Corporation in the United States sent us materials necessary to implement a Common Lisp system, such as the preliminary drafts of the Common Lisp reference manual and benchmark tests for Common Lisp. For the benchmark tests we are indebted to Dr. Richard Gabriel at Stanford University.

Dr. Daniel Weinreb at Symbolics answered most of our questions about the language specification. He also sent us the definition of rationalize written by Dr. Skef Wholey at CMU. We use this definition in KCL without any change.

Dr. Carl Hoffman at Symbolics checked the top-level of KCL and gave us advice for improving KCL. He also found some bugs in KCL and fixed them for us.

Mr. Naruhiko Kawamura at RIMS developed a Prolog system using the earliest version of KCL/AOS. That was one of the first big projects with KCL and he found many bugs.

Mr. Takashi Sakuragawa at RIMS hacked with KCL/AOS and gave us much advice concerning those features specific to KCL.

Mr. Tatsuya Hagino at Edinburgh University developed Micro EMACS on which FeCl2, the full-screen editor embedded in KCL/AOS, is based.

Mr. Kunihiko Nakamura at Kagawa University converted the assembly language version of Micro EMACS into the C language, which happened to become the prototype of FeCl2.

Prof. Akinori Yonezawa at Tokyo Institute of Technology encouraged us to port KCL/AOS to the VAX 11.

Mr. Etsuya Shibayama at Tokyo Institute of Technology helped us while we were working with the VAX 11 at the Institute.

Hagiwara Laboratory at Kyoto University offered (and is offering) their VAX 11 for finishing transplantation and maintaining KCL/VAX. We got also technical advice from people at Hagiwara Laboratory.

Prof. Shuji Doshita at Kyoto University offered the SUN Workstation at his Laboratory and gave us a lot of advice for transplantation to the SUN Workstation.

Mr. Takashi Hattori at RIMS gave us useful information about the Motorola 68000, the CPU chip of SUN Workstation.